package xin.marcher.module.lifecycle.converter;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import xin.marcher.module.lifecycle.domain.dto.ItemExpriResultDTO;
import xin.marcher.module.lifecycle.domain.entity.ItemExpriResultBufferDO;
import xin.marcher.module.lifecycle.domain.entity.ItemExpriResultDO;

import java.util.List;

/**
 *
 */
@Mapper(componentModel = "spring")
public interface ItemExpriResultConverter {

    /**
     * 转换DO为DTO
     *
     * @param itemExpriResultDO
     * @return
     */
    ItemExpriResultDTO convertToDTO(ItemExpriResultDO itemExpriResultDO);

    /**
     * 转换DO List为DTO list
     *
     * @param doList
     * @return
     */
    List<ItemExpriResultDTO> converterDTOList(List<ItemExpriResultDO> doList);

    /**
     * 转换分页查询商品生命周期信息DO --> DTO
     *
     * @param skuExpriResultDO
     * @return
     */
    Page<ItemExpriResultDTO> converterPageResult(Page<ItemExpriResultDO> skuExpriResultDO);

    /**
     * 转换缓冲表DO 为 考核结果表DO
     *
     * @param resultBufferDO
     * @return
     */
    @Mapping(ignore = true, target = "id")
    ItemExpriResultDO converterBuffer(ItemExpriResultBufferDO resultBufferDO);

}
